#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include<U8g2lib.h>
#include <Wire.h>
#include <Arduino.h>
// 测试HTTP请求用的URL。注意网址前面必须添加"http://"
#define URL "http://quan.suning.com/getSysTime.do"
 
// 设置wifi接入信息(请根据您的WiFi信息进行修改)
const char* ssid = "CU_bRbv";
const char* password = "xrfgwxtm";
                                    //OLED屏的SDA和SCL分别连接开发板4和5；
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
void setup() {
  //初始化串口设置
  Serial.begin(9600);
  u8g2.begin();
  //设置ESP8266工作模式为无线终端模式
  WiFi.mode(WIFI_STA);
 
  //开始连接wifi
  WiFi.begin(ssid, password);
  Serial.println("");
  //等待WiFi连接,连接成功打印IP
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("WiFi Connected!");
  
  //httpClientRequest();  
}
 
void loop() {
  httpClientRequest();
}
 
// 发送HTTP请求并且将服务器响应通过串口输出
void httpClientRequest(){
 
  //重点1 创建 HTTPClient 对象
  HTTPClient httpClient;
 
  //重点2 通过begin函数配置请求地址。此处也可以不使用端口号和PATH而单纯的
  httpClient.begin(URL); 
  u8g2.firstPage();
  //Serial.print("URL: "); Serial.println(URL);
  //重点3 通过GET函数启动连接并发送HTTP请求
  int httpCode = httpClient.GET();
  //Serial.print("Send GET request to URL: ");
  //Serial.println(URL);
  
  //重点4. 如果服务器响应HTTP_CODE_OK(200)则从服务器获取响应体信息并通过串口输出
  //如果服务器不响应HTTP_CODE_OK(200)则将服务器响应状态码通过串口输出
  if (httpCode == HTTP_CODE_OK) {
    // 使用getString函数获取服务器响应体内容
    String responsePayload = httpClient.getString();
    //Serial.println("Server Response Payload: ");
    //Serial.println(responsePayload);
    char showtime1[11];
    char showtime2[9];
    for(int i=0;i<19;i++)
    {
      Serial.print(responsePayload[13+i]);
      if(i<11)
      {
        showtime1[i]=responsePayload[13+i];
      }
      else
      {
        showtime2[i-11]=responsePayload[13+i];
      }
    }
    Serial.println(" ");
    showtime1[10]='\0';
    showtime2[8]='\0';
    do{
      u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
      u8g2.drawStr(0,10,showtime1);
      u8g2.drawStr(60,10,showtime2);
    }while(u8g2.nextPage());
  } else {
    Serial.println("Server Respose Code：");
    Serial.println(httpCode);
  }
  //重点5. 关闭ESP8266与服务器连接
  httpClient.end();
}
